#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
using namespace std;


//int n;
//long double ax[205], ay[205], b[205], minl = 1e9;
//void dfs(int x, long double sum,long long nowx,long long nowy) {
//	if (sum > minl)
//		return;
//	if (x>n)
//	{
//		minl = min(sum, minl);
//		return;
//	}
//	for (int i = 1; i <= n; i++)
//	{
//		if (b[i]==0)
//		{
//			sum += sqrt((ax[i] - nowx) * (ax[i] - nowx) + (ay[i] - nowy) * (ay[i] - nowy));
//			b[i] = 1;
//			dfs(x + 1, sum,ax[i],ay[i]);
//			b[i] = 0;
//			sum -= sqrt((ax[i] - nowx) * (ax[i] - nowx) + (ay[i] - nowy) * (ay[i] - nowy));
//		}
//	}
//
//}
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> ax[i] >> ay[i];
//   	}
//	dfs(1, 0, 0, 0);
//	printf("%.2lf", minl);
//	return 0;
//}

//int n, m,ans,sx,sy,t,fx,fy;
//int x[15], y[15], f[15][15];
//int walk[4][2] = { {-1,0},{0,1}, {1,0},{0,-1} };
//void dfs(int x,int nowx,int nowy) {
//	if (nowx==fx&&nowy==fy)
//	{
//		ans++;
//		return;
//	}
//	for (int i = 0; i < 4; i++)
//	{
//		if (f[nowx + walk[i][0]][nowy+walk[i][1]] == 0 &&
//			nowx + walk[i][0] > 0 && nowx + walk[i][0] <= n &&
//			nowy + walk[i][1] > 0 && nowy + walk[i][1] <= m)
//		{
//			f[nowx + walk[i][0]][nowy + walk[i][1]] = 1;
//			dfs(x + 1, nowx + walk[i][0], nowy + walk[i][1]);
//			f[nowx + walk[i][0]][nowy + walk[i][1]] = 0;
//
//		}
//	}
//}
//
//int main() {
//	cin >> n >> m >> t;
//	cin >> sx >> sy >> fx >> fy;
//	int tmpx, tmpy;
//	for (int i = 1; i <= t; i++)
//	{
//		cin >> tmpx >> tmpy;
//		f[tmpx][tmpy] = 1;
//	}
//	f[sx][sy] = 1;
//	dfs(1, sx, sy);
//	printf("%d", ans);
//	return 0;
//}
//int n,maxc,b[25],la[25][25];
//int sum;
//char ch;
//string a[25];
//
//int check(int x, int y) {
//	bool pp = true;
//	int ky = 0;
//	for (int k = a[x].size() - 1; k >= 0; k--) {
//		for (int kx = k; kx < a[x].size(); kx++)
//		{
//			if (a[x][kx]!=a[y][ky++])
//			{
//				pp = false;
//				break;
//			}
//		}
//		if (pp == true)
//			return a[x].size() - k;
//		ky = 0;
//		pp = true;
//	}
//	return 0;
//}
//void dfs(int p) {
//	bool ok = false;
//	for (int i = 1; i <= n; i++)
//	{
//		if (b[i] >= 2)continue;
//		if (la[p][i] == 0)continue;
//		if (la[p][i] == a[p].size() || la[p][i] == a[i].size())continue;
//		sum +=a[i].size() - la[p][i];
//		b[i]++;
//		ok = true;
//		dfs(i);
//		sum -=a[i].size() - la[p][i];
//		b[i]--;
//	}
//	if (!ok)
//	{
//		maxc = max(maxc, sum);
//	}
//}
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> a[i];
//	}
//	cin >> ch;
//	for (int i =1; i <= n; i++)
//	{
//		for (int j=1; j <= n; j++) {
//			la[i][j] = check(i, j);
//		}
//	}
//	for (int i = 1; i <= n; i++)
//	{
//		if (a[i][0] == ch) {
//			b[i]++;
//			sum += a[i].size();
//			dfs(i);
//			b[i]--;
//			sum -= a[i].size();
//		}
//	}
//	printf("%d", maxc);
//	return 0;
//}
//
//int n,num, walk[8][2] = { {-1,-1},{-1,0},{-1,1} , {0,-1},{0,1},{1,-1},{1,0},{1,1} };
//char arr[105][105],brr[105][105],t[9]="yizhong";
//bool ok = false;
//
//void dfs(int w,int z,int x,int y) {
//	if (z>7)
//	{
//		ok = true;
//		return;
//	}
//	if (arr[x][y]==t[z-1]&&
//		x >0&& x<=n&&
//		y>0&& y <=n)
//	{
//		brr[x][y] = t[z - 1];
//		arr[x][y] = 'x';
//		dfs(w, z + 1, x + walk[w][0], y + walk[w][1]);
//		if (!ok) {
//			arr[x][y] = t[z - 1];
//			brr[x][y] = '*';
//		}
//	}
//}
//int main() {
//	cin >> n;
//	for (int i = 1; i <= n; i++)
//	{
//		for (int j = 1; j <= n; j++)
//		{
//			cin >> arr[i][j];
//			brr[i][j] = '*';
//		}
//	}
//	for (int i = 1; i <= n; i++)
//	{
//		for (int j = 1; j <= n; j++)
//		{
//			if (arr[i][j] == 'y') {
//				for (int w = 0; w < 8; w++)
//				{
//					ok = false;
//					dfs(w, 2, i + walk[w][0], j + walk[w][1]);
//					if (ok)
//					{
//						brr[i][j] = 'y';
//					}
//				}
//			}
//		}
//	}
//	for (int i = 1; i <= n; i++)
//	{
//		for (int j = 1; j <= n; j++)
//		{
//			cout << brr[i][j];
//		}
//		cout << "\n";
//	}
//	return 0;
//}.
//string s[10005];
//int a;
//int main() {
//	while (cin>>s[a++])
//	{
//
//	}
//	a--;
//	cout << s[--a].size();
//	return 0;
//}

char arr[105][105];
int n,m,ans;
void dfs(int x,int y) {
	
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++) {
			cin >> arr[i][j];
		}
	}
	
	return 0;
}